package a10_InterClass.staticClass;

/**
 * @Author quan
 * @Description 静态内部类
 * @Date 2023/3/2 17:13
 */
public class staticOuter {
    private String outerName = "外名字";
    private void outerFun(){
        System.out.println("在外部类的内部定义的fun方法");
        //1、在外部类的内部 访问 静态内部类
        staticInter staticInter = new staticInter();//产生对象的方式
        System.out.println(staticInter.interName);//访问属性
        staticInter.interFun();//访问方法
    }
    //-------------静态内部类：有static修饰--------------
    static class staticInter{
        //1、静态内部类 里面可以定义 静态的属性或者方法
        private String interName = "内名称";//成员方法
        String interNameNoPrivate = "张三";
        private static String staticInterName; //静态属性
        public void interFun(){
            System.out.println("静态内部类中的fun方法");
            //3、在静态内部类的内部访问 外部类的属性和方法
            staticOuter staticOuter = new staticOuter();//产生外部类对象
            System.out.println(staticOuter.outerName);//访问属性
//            staticOuter.outerFun();//访问方法
        }
    }
    //------------------------------------------------
    public static void main(String[] args) {
        staticOuter staticOuter = new staticOuter();
        staticOuter.outerFun();
    }
}

